package main

import (
	"fmt"
	"strings"
)

// 字符串常见操作
func main() {
	//字符串的长度
	var s string
	s = "hello"
	fmt.Println(len(s))
	s2 := "hello xjy"
	fmt.Println(len(s2))

	//拼接字符串
	fmt.Println(s + " " + s2)
	s3 := fmt.Sprintf("%s - %s", s, s2)
	fmt.Println(s3)

	//字符串的分割
	fmt.Println("============")
	s4 := "how do you do"
	fmt.Println(strings.Split(s4, " "))
	fmt.Printf("%T\n", strings.Split(s4, " "))
	fmt.Println("============")

	//判断是否包含目标子串
	fmt.Println(strings.Contains(s4, "do")) //如果包含则返回true，反之则是false
	fmt.Println("=========")

	//判断前缀
	fmt.Println(strings.HasPrefix(s4, "how"))
	//判断后缀
	fmt.Println(strings.HasSuffix(s4, "do"))
	fmt.Println("=========")

	//判断子串的位置
	fmt.Println(strings.Index(s4, "do"))
	fmt.Println("==========")
	//最后子串出现的位置
	fmt.Println(strings.LastIndex(s4, "do"))
	fmt.Println("==========")

	//join操作 其实也就是一种拼接
	s5 := []string{"how", "do", "you", "do"}
	fmt.Println(s5)
	fmt.Println(strings.Join(s5, "+"))
	fmt.Println("==========")

}
